// B3843 密码合规性检查
#include <bits/stdc++.h>
using namespace std;

// 检查密码是否合规
bool is_valid(const string& pwd) {
    // 检查长度
    if (pwd.length() < 6 || pwd.length() > 12) return false;
    bool has_upper = false, has_lower = false, has_digit = false, has_special = false;
    for (char c : pwd) {
        // 判断字符类型
        if ('a' <= c && c <= 'z') has_lower = true; // 小写字母
        else if ('A' <= c && c <= 'Z') has_upper = true; // 大写字母
        else if ('0' <= c && c <= '9') has_digit = true; // 数字
        else if (c == '!' || c == '@' || c == '#' || c == '$') has_special = true; // 特殊字符
        else return false; // 出现非法字符，直接不合规
    }
    int type_cnt = has_upper + has_lower + has_digit; // 至少有两类
    return type_cnt >= 2 && has_special;
}

int main() {
    string line;
    getline(cin, line); // 读入整行
    stringstream ss(line);
    string pwd;
    while (getline(ss, pwd, ',')) { // 以逗号分割
        if (is_valid(pwd)) cout << pwd << endl; // 合规则输出
    }
    return 0;
}
